﻿using System;

namespace Neitzel.Irc.Client
{
    /// <summary>
    /// IrcEvents the client can handle.
    /// </summary>
    [Flags]
    public enum IrcClientEventTypes
    {
        /// <summary>
        /// No IrcClient event.
        /// </summary>
        None = 0,

        /// <summary>
        /// Ping event.
        /// </summary>
        Ping = 1,

        /// <summary>
        /// All information events.
        /// </summary>
        Information = 2,

        /// <summary>
        /// Error no such nick event.
        /// </summary>
        ErrorNoSuchNick = 4,

        /// <summary>
        /// Error no such server event.
        /// </summary>
        ErrorNoSuchServer = 8,

        /// <summary>
        /// Error no such channel event.
        /// </summary>
        ErrorNoSuchChannel = 16,

        /// <summary>
        /// All errors.
        /// </summary>
        AllErrors = 28,

        /// <summary>
        /// Notice event.
        /// </summary>
        Notice = 32,

        /// <summary>
        /// Join event.
        /// </summary>
        Join = 64,

        /// <summary>
        /// Part event.
        /// </summary>
        Part = 128,

        /// <summary>
        /// All events.
        /// </summary>
        AllEvents = 255
    }
}
